Automated performance and testing utilities are known for examining system behavior and performance.
Such utilities typically emulate numerous concurrent users so as to interact with and strain the tested application. Such emulation may be used, for example, for generating loads on the application, for testing the functionality of the application, for testing web services and for monitoring the proper execution of a running application. Information collected from infrastructure components of the system (e.g., local servers, web servers, database servers etc.) may be thus analyzed to explore the behavior of the system.
In some examples, a real user performs a transaction with the tested application and a script of the communication traffic between the user and the tested application corresponding with that transaction is recorded. The recorded script may then be played back when emulating multiple users.
Most web applications, e.g., Web 2.0, use dynamic data that depends on the server responses (such as for example, session ID) to send information back to the server. This requires the performance engineer or technician attending to this to correlate the relevant pieces of the data that is being sent with server response.